package main

import "fmt"

/*
（键值循环） for range结构是Go语言特有的一种的迭代结构，在许多情况下都非常有用，
for range 可以遍历数组、切片、字符串、map 及通道，for range 语法上类似于其它语言中的 foreach 语句，
一般形式为：
for key, val := range coll {
    ...
}
*/
func main() {
	//定义一个字符串：
	var str string = "hello golang你好"
	//方式1：普通for循环：按照字节进行遍历输出的 （暂时先不使用中文）
	// for i := 0;i < len(str);i++ {//i:理解为字符串的下标
	// 	fmt.Printf("%c \n",str[i])
	// }
	//方式2：for range
	for i, value := range str {
		//UTF-8编码下中文占3字节
		//索引为：12,具体的值为：你
		//索引为：15,具体的值为：好
		fmt.Printf("索引为：%d,具体的值为：%c \n", i, value)
	}
	//对str进行遍历，遍历的每个结果的索引值被i接收，每个结果的具体数值被value接收
	//遍历对字符进行遍历的
}
